home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / mint / shells / tcshsrc.zoo / tcsh / sh.decls.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-10-25  |  12.1 KB  |  362 lines

  1. /* $Header: /home/hyperion/mu/christos/src/sys/tcsh-6.00/RCS/sh.decls.h,v 3.2 1991/07/15 19:37:24 christos Exp $ */
  2. /*
  3.  * sh.decls     External declarations from sh*.c
  4.  */
  5. /*-
  6.  * Copyright (c) 1980, 1991 The Regents of the University of California.
  7.  * All rights reserved.
  8.  *
  9.  * Redistribution and use in source and binary forms, with or without
  10.  * modification, are permitted provided that the following conditions
  11.  * are met:
  12.  * 1. Redistributions of source code must retain the above copyright
  13.  *    notice, this list of conditions and the following disclaimer.
  14.  * 2. Redistributions in binary form must reproduce the above copyright
  15.  *    notice, this list of conditions and the following disclaimer in the
  16.  *    documentation and/or other materials provided with the distribution.
  17.  * 3. All advertising materials mentioning features or use of this software
  18.  *    must display the following acknowledgement:
  19.  *    This product includes software developed by the University of
  20.  *    California, Berkeley and its contributors.
  21.  * 4. Neither the name of the University nor the names of its contributors
  22.  *    may be used to endorse or promote products derived from this software
  23.  *    without specific prior written permission.
  24.  *
  25.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  26.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  27.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  28.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  29.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  30.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  31.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  32.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  33.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  34.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  35.  * SUCH DAMAGE.
  36.  */
  37. #ifndef _h_sh_decls
  38. #define _h_sh_decls
  39.  
  40. /*
  41.  * sh.c
  42.  */
  43. extern    int           gethdir    __P((Char *));
  44. extern    void          dosource    __P((Char **, struct command *));
  45. extern    void          exitstat    __P((void));
  46. extern    void          goodbye    __P((Char **, struct command *));
  47. extern    void          importpath    __P((Char *));
  48. extern    void          initdesc    __P((void));
  49. extern    sigret_t      pintr        __P((int));
  50. extern    void          pintr1    __P((bool));
  51. extern    void          process    __P((bool));
  52. extern    void          rechist    __P((void));
  53. extern    void          untty        __P((void));
  54. #ifdef PROF
  55. extern    void          done        __P((int));
  56. #else
  57. extern    void          xexit        __P((int));
  58. #endif
  59.  
  60. /*
  61.  * sh.dir.c
  62.  */
  63. extern    void          dinit        __P((Char *));
  64. extern    void          dodirs    __P((Char **, struct command *));
  65. extern    Char         *dcanon    __P((Char *, Char *));
  66. extern    void          dtildepr    __P((Char *, Char *));
  67. extern    void          dtilde    __P((void));
  68. extern    void          dochngd    __P((Char **, struct command *));
  69. extern    Char         *dnormalize    __P((Char *));
  70. extern    void          dopushd    __P((Char **, struct command *));
  71. extern    void          dopopd    __P((Char **, struct command *));
  72. extern    void          dfree        __P((struct directory *));
  73. extern    int          getstakd    __P((Char *, int));
  74. extern    void          dextract    __P((struct directory *));
  75. #ifdef    CSHDIRS
  76. extern    void          recdirs    __P((void));
  77. #endif
  78.  
  79. /*
  80.  * sh.dol.c
  81.  */
  82. extern    void          Dfix        __P((struct command *));
  83. extern    Char         *Dfix1        __P((Char *));
  84. extern    void          heredoc    __P((Char *));
  85.  
  86. /*
  87.  * sh.err.c
  88.  */
  89. extern    void          seterror    __P((int, ...));
  90. extern    void          stderror    __P((int, ...));
  91.  
  92. /*
  93.  * sh.exec.c
  94.  */
  95. extern    void          doexec    __P((struct command *));
  96. extern    void          dohash    __P((Char **, struct command *));
  97. extern    void          dounhash    __P((Char **, struct command *));
  98. extern    void          execash    __P((Char **, struct command *));
  99. #ifdef VFORK
  100. extern    void          hashstat    __P((Char **, struct command *));
  101. #endif
  102. extern    void          xechoit    __P((Char **));
  103. extern    int          iscommand    __P((Char *));
  104. extern    int          executable    __P((Char *, Char *, bool));
  105. extern    void          tellmewhat    __P((struct wordent *));
  106.  
  107. /*
  108.  * sh.exp.c
  109.  */
  110. extern    int           exp        __P((Char ***));
  111. extern    int          exp0        __P((Char ***, bool));
  112.  
  113. /*
  114.  * sh.file.c
  115.  */
  116. #ifdef FILEC
  117. extern    int          tenex        __P((Char *, int));
  118. #endif
  119.  
  120. /*
  121.  * sh.func.c
  122.  */
  123. extern    void          Setenv    __P((Char *, Char *));
  124. extern    void          doalias    __P((Char **, struct command *));
  125. extern    void          dobreak    __P((Char **, struct command *));
  126. extern    void          docontin    __P((Char **, struct command *));
  127. extern    void          doecho    __P((Char **, struct command *));
  128. extern    void          doelse    __P((Char **, struct command *));
  129. extern    void          doend        __P((Char **, struct command *));
  130. extern    void          doeval    __P((Char **, struct command *));
  131. extern    void          doexit    __P((Char **, struct command *));
  132. extern    void          doforeach    __P((Char **, struct command *));
  133. extern    void          doglob    __P((Char **, struct command *));
  134. extern    void          dogoto    __P((Char **, struct command *));
  135. extern    void          doif        __P((Char **, struct command *));
  136. extern    void          dolimit    __P((Char **, struct command *));
  137. extern    void          dologin    __P((Char **, struct command *));
  138. extern    void          dologout    __P((Char **, struct command *));
  139. #ifdef NEWGRP
  140. extern    void          donewgrp    __P((Char **, struct command *));
  141. #endif
  142. extern    void          donohup    __P((Char **, struct command *));
  143. extern    void          doonintr    __P((Char **, struct command *));
  144. extern    void          dorepeat    __P((Char **, struct command *));
  145. extern    void          dosetenv    __P((Char **, struct command *));
  146. extern    void          dosuspend    __P((Char **, struct command *));
  147. extern    void          doswbrk    __P((Char **, struct command *));
  148. extern    void          doswitch    __P((Char **, struct command *));
  149. extern    void          doumask    __P((Char **, struct command *));
  150. extern    void          dounlimit    __P((Char **, struct command *));
  151. extern    void          dounsetenv    __P((Char **, struct command *));
  152. extern    void          dowhile    __P((Char **, struct command *));
  153. extern    void          dozip        __P((Char **, struct command *));
  154. extern    void          func        __P((struct command *, 
  155.                          struct biltins *));
  156. extern struct biltins      *isbfunc    __P((struct command *));
  157. extern    void          prvars    __P((void));
  158. extern    void          search    __P((int, int, Char *));
  159. extern    int          srchx        __P((Char *));
  160. extern    void          unalias    __P((Char **, struct command *));
  161. extern    void          wfree        __P((void));
  162.  
  163. /*
  164.  * sh.glob.c
  165.  */
  166. extern    Char        **dobackp    __P((Char *, bool));
  167. extern    void          Gcat        __P((Char *, Char *));
  168. extern    Char         *globone    __P((Char *, int));
  169. extern    int          Gmatch    __P((Char *, Char *));
  170. extern    void          ginit        __P((void));
  171. extern    Char        **globall    __P((Char **));
  172. extern    void          rscan        __P((Char **, void (*)()));
  173. extern    void          tglob        __P((Char **));
  174. extern    void          trim        __P((Char **));
  175. #ifdef FILEC
  176. extern    int          sortscmp    __P((Char **, Char **));
  177. #endif
  178.  
  179. /*
  180.  * sh.hist.c
  181.  */
  182. extern    void           dohist    __P((Char **, struct command *));
  183. extern struct Hist      *enthist    __P((int, struct wordent *, bool));
  184. extern    void           savehist    __P((struct wordent *));
  185.  
  186.  
  187. /*
  188.  * sh.lex.c
  189.  */
  190. extern    void          addla        __P((Char *));
  191. extern    void          bseek        __P((off_t));
  192. #ifndef btell
  193. extern    off_t          btell        __P((void));
  194. #endif
  195. extern    void          btoeof    __P((void));
  196. extern    void          copylex    __P((struct wordent *, 
  197.                          struct wordent *));
  198. extern    Char         *domod        __P((Char *, int));
  199. extern    void          freelex    __P((struct wordent *));
  200. extern    int          lex        __P((struct wordent *));
  201. extern    void          prlex        __P((struct wordent *));
  202. extern    int          readc        __P((bool));
  203. extern    void          settell    __P((void));
  204. extern    void          unreadc    __P((int));
  205.  
  206.  
  207. /*
  208.  * sh.misc.c
  209.  */
  210. extern    int          any        __P((char *, int));
  211. extern    Char        **blkcat    __P((Char **, Char **));
  212. extern    Char        **blkcpy    __P((Char **, Char **));
  213. extern    Char        **blkend    __P((Char **));
  214. extern    void          blkfree    __P((Char **));
  215. extern    int          blklen    __P((Char **));
  216. extern    void          blkpr        __P((Char **));
  217. extern    Char        **blkspl    __P((Char **, Char **));
  218. #ifndef copy
  219. extern  void          copy        __P((char *, char *, int));
  220. #endif
  221. extern    void          closem    __P((void));
  222. #ifndef FIOCLEX
  223. extern  void           closech    __P((void));
  224. #endif
  225. extern    Char        **copyblk    __P((Char **));
  226. extern    int          dcopy        __P((int, int));
  227. extern    int          dmove        __P((int, int));
  228. extern    void          donefds    __P((void));
  229. extern    Char          lastchr    __P((Char *));
  230. extern    void          lshift    __P((Char **, int));
  231. extern    int          number    __P((Char *));
  232. extern    int          prefix    __P((Char *, Char *));
  233. extern    Char        **saveblk    __P((Char **));
  234. extern    void          setzero    __P((char *, int));
  235. extern    Char         *strip        __P((Char *));
  236. extern    char         *strsave    __P((const char *));
  237. extern    char         *strspl    __P((char *, char *));
  238. #ifndef POSIX
  239. extern  char              *strstr    __P((const char *, const char *));
  240. #endif
  241. extern    void          udvar        __P((Char *));
  242. #ifndef SHORT_STRINGS
  243. extern    char         *strend    __P((char *));
  244. #endif
  245.  
  246. /*
  247.  * sh.parse.c
  248.  */
  249. extern    void          alias        __P((struct wordent *));
  250. extern    void          freesyn    __P((struct command *));
  251. extern struct command      *syntax    __P((struct wordent *, 
  252.                          struct wordent *, int));
  253.  
  254. /*
  255.  * sh.print.c
  256.  */
  257. extern    void          draino    __P((void));
  258. extern    void          flush        __P((void));
  259. #ifdef BSDTIMES
  260. extern    void          pcsecs    __P((long));
  261. #else /* !BSDTIMES */
  262. # ifdef POSIX
  263. extern    void          pcsecs    __P((clock_t));
  264. # else /* !POSIX */
  265. extern    void          pcsecs    __P((time_t));
  266. # endif /* !POSIX */
  267. #endif /* BSDTIMES */
  268. #ifdef RLIMIT_CPU
  269. extern    void          psecs        __P((long));
  270. #endif /* RLIMIT_CPU */
  271. extern    int          putpure    __P((int));
  272. extern    int          putraw    __P((int));
  273. extern    void          xputchar    __P((int));
  274.  
  275.  
  276. /*
  277.  * sh.proc.c
  278.  */
  279. extern    void          dobg        __P((Char **, struct command *));
  280. extern    void          dobg1        __P((Char **, struct command *));
  281. extern    void          dofg        __P((Char **, struct command *));
  282. extern    void          dofg1        __P((Char **, struct command *));
  283. extern    void          dojobs    __P((Char **, struct command *));
  284. extern    void          dokill    __P((Char **, struct command *));
  285. extern    void          donotify    __P((Char **, struct command *));
  286. extern    void          dostop    __P((Char **, struct command *));
  287. extern    void          dowait    __P((Char **, struct command *));
  288. extern    void          palloc    __P((int, struct command *));
  289. extern    void          panystop    __P((bool));
  290. extern    sigret_t      pchild    __P((int));
  291. extern    void          pendjob    __P((void));
  292. extern    struct process      *pfind        __P((Char *));
  293. extern    int          pfork        __P((struct command *, int));
  294. extern    void          pgetty    __P((int, int));
  295. extern    void          pjwait    __P((struct process *));
  296. extern    void          pnote        __P((void));
  297. extern    void          prestjob    __P((void));
  298. extern    void          psavejob    __P((void));
  299. extern    void          pstart    __P((struct process *, int));
  300. extern    void          pwait        __P((void));
  301.  
  302. /*
  303.  * sh.sem.c
  304.  */
  305. extern    void          execute    __P((struct command *, int, int *, 
  306.                          int *));
  307. extern    void          mypipe    __P((int *));
  308.  
  309. /*
  310.  * sh.set.c
  311.  */
  312. extern    struct varent      *adrof1    __P((Char *, struct varent *));
  313. extern    void          doset        __P((Char **, struct command *));
  314. extern    void          dolet        __P((Char **, struct command *));
  315. extern    Char         *putn        __P((int));
  316. extern    int          getn        __P((Char *));
  317. extern    Char         *value1    __P((Char *, struct varent *));
  318. extern    void          set        __P((Char *, Char *));
  319. extern    void          set1        __P((Char *, Char **, struct varent *));
  320. extern    void          setq        __P((Char *, Char **, struct varent *));
  321. extern    void          unset        __P((Char **, struct command *));
  322. extern    void          unset1    __P((Char *[], struct varent *));
  323. extern    void          unsetv    __P((Char *));
  324. extern    void          setNS        __P((Char *));
  325. extern    void          shift        __P((Char **, struct command *));
  326. extern    void          plist        __P((struct varent *));
  327.  
  328. /*
  329.  * sh.time.c
  330.  */
  331. extern    void          donice    __P((Char **, struct command *));
  332. extern    void          dotime    __P((Char **, struct command *));
  333. #ifdef BSDTIMES
  334. extern    void          prusage    __P((struct rusage *, struct rusage *, 
  335.                          timeval_t *, timeval_t *));
  336. #else /* BSDTIMES */
  337. # ifdef _SEQUENT_
  338. extern    void          prusage    __P((struct process_stats *,
  339.                          struct process_stats *, 
  340.                          timeval_t *, timeval_t *));
  341. # else /* !_SEQUENT_ */
  342. #  ifdef POSIX
  343. extern    void          prusage    __P((struct tms *, struct tms *, 
  344.                          clock_t, clock_t));
  345. #  else    /* !POSIX */
  346. extern    void          prusage    __P((struct tms *, struct tms *, 
  347.                          time_t, time_t));
  348. #  endif /* !POSIX */
  349. # endif    /* !_SEQUENT_ */
  350. #endif /* BSDTIMES */
  351. extern    void          settimes    __P((void));
  352. #if defined(BSDTIMES) || defined(_SEQUENT_)
  353. extern    void          ruadd        __P((struct rusage *, struct rusage *));
  354. extern    void          tvadd        __P((struct timeval *, 
  355.                          struct timeval *));
  356. extern    void          tvsub        __P((struct timeval *, 
  357.                          struct timeval *, 
  358.                          struct timeval *));
  359. #endif /* BSDTIMES || _SEQUENT_ */
  360.  
  361. #endif /* _h_sh_decls */
  362.